package com.cn.mmd.service;

import com.cn.mmd.model.Grouping;
import com.cn.mmd.model.StudentGrouping;
import com.cn.mmd.model.StudentGroupingExample;

import java.util.List;

/**
 * Created by Administrator on 2016/7/7 0007.
 */
public interface StudentGroupingService {

    /**
     * 根据学号 课程查询 分组
     * @param studentGrouping
     * @return
     */
    StudentGrouping selectByStuIdCouID(StudentGrouping studentGrouping);

    /**
     * 根据 分组名 聚合
     * @param studentGrouping
     * @return
     */
    int selectCount(StudentGrouping studentGrouping);

    /**
     * 根据老师 和 课程 查询分组名集合
     * @param studentGrouping
     * @return
     */
    List<StudentGrouping> selectByTeaIdCouID(StudentGrouping studentGrouping);

    /**
     * 动态添加学生分组
     * @param record
     * @return
     */
    int insertSelective(StudentGrouping record);

    /**
     * 添加分组
     * @param record
     * @return
     */
    int insertSelective(Grouping record);

    /**
     * 精准查询 小组名
     * @param grouping
     * @return
     */
    Grouping selectByAll(Grouping grouping);

    /**
     * 精准删除小组
     * @param grouping
     * @return
     */
    int deleteByAll(Grouping grouping);

    /**
     * 根据id删除
     * @param groupnameid
     * @return
     */
    int deleteByPrimaryKey(Integer groupnameid);

    /**
     * 根据id查询
     * @param groupnameid
     * @return
     */

    Grouping selectByPrimaryKey(Integer groupnameid);

    /**
     * 根据id动态修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Grouping record);

    /**
     * 根据老师id课程id分组名字 查询学生分组id
     * @param studentGrouping
     * @return
     */
    List<StudentGrouping> selectByTeaIdCouIDGroName(StudentGrouping studentGrouping);

    /**
     * 根据 学生分组id 动态修改
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(StudentGrouping record);

    /**
     * 根据老师课程查询小组名和小组id
     * @param grouping
     * @return
     */
    List<Grouping> selectByTeaIdCouId(Grouping grouping);

    /**
     * 根据学生学号删除
     * @param studentGrouping
     * @return
     */
    int deleteByStuId(StudentGrouping studentGrouping);

    /**
     * 根据教师工号删除小组的人
     * @param s
     * @return
     */
    int deleteByTeaId(String s);

    /**
     *根据工号删除小组
     * @param s
     * @return
     */
    int deleteByTeaIdG(String s);

    /**
     * 根据课程id删除小组人员
     * @param s
     * @return
     */
    int deleteByCouId(String s);

    /**
     * 根据课程id删除小组
     * @param s
     * @return
     */
    int deleteByCouIdG(String s);
}
